export default class Interface{
	/** 获取模块下的interface 能力开发接口
	 * @param {Object} moduleName 模块名称 pages下的模块，直接写：模块名； sub-packages下的模块写：包名/模块名
	 */
	static getInterface(moduleName){
		let _getInterFace=(_moduleName)=>{
			let _interface=null;
			try{
				_interface=require(`@/pages/${_moduleName}/interface.js`);
			}catch(err){
				try{
					_interface=require(`@/sub-packages/${_moduleName}/interface.js`);
				}catch(err2){
					return null;
				}
			}
			if(_interface.default){
				return new _interface.default();
			}else{
				return  _interface;
			}
		};
		if(!moduleName){
			let pages = getCurrentPages();
			let curPage=pages[pages.length - 1];
			let pagePath=curPage.route;
			if(pagePath.startsWith('pages/')){
				moduleName=pagePath.split('/')[1];
			}else if(pagePath.startsWith('sub-packages/')){
				moduleName=`${pagePath.split('/')[1]}/${pagePath.split('/')[2]}`;
			}
		
			
		}
		return _getInterFace(moduleName);
		
		
		
	}
}